package com.liang.subject.domain.service;

import com.liang.subject.common.entity.PageDTO;
import com.liang.subject.domain.entity.SubjectInfoBO;
import com.liang.subject.infra.es.entity.SubjectInfoEs;

import java.util.List;

public interface SubjectInfoDomainService {
    /**
     * 新增题目
     */
    void save(SubjectInfoBO subjectInfoBO);

    /**
     * 查询题目列表
     */
    PageDTO<SubjectInfoBO> querySubjectList(SubjectInfoBO subjectInfoBO);

    /**
     * 查询题目详情
     */
    SubjectInfoBO querySubjectInfo(SubjectInfoBO subjectInfoBO);

    /**
     * 全文搜索
     */
    PageDTO<SubjectInfoEs> getSubjectPageBySearch(SubjectInfoBO subjectInfoBO);

    /**
     * 获取题目贡献榜
     */
    List<SubjectInfoBO> getContributeList();
}
